Windows Forms - Funções de Diretório e Pastas
Module Diretorios
Retorna uma lista de arquivos que atendem um critério de seleção 1
''' <summary>
''' Retorna com uma lista de string dos nomes dos arquivos tipo *.wav encontrados na pasta MyMusic
''' </summary>
''' <returns></returns>
Public Function ObtemArqsMusica() As List(Of String)
Dim a As New List(Of String)
Dim b As String
For Each MusicFile As String In My.Computer.FileSystem.GetFiles _
(My.Computer.FileSystem.SpecialDirectories.MyMusic, FileIO.SearchOption.SearchAllSubDirectories, "*.wav*")
Dim MusicFileInfo As System.IO.FileInfo = My.Computer.FileSystem.GetFileInfo(MusicFile.ToString())
b = MusicFileInfo.Directory.Parent.Name + "\" +
MusicFileInfo.Directory.Name + "\" +
MusicFileInfo.Name
a.Add(b)
Next
Return a
End Function
Retorna uma lista de arquivos que atendem um critério de seleção 2
''' <summary>
'''
''' </summary>
''' <param name="tipo">Tipo do arquivo a procurar "*.*" ou "*.wav*" por exemplo</param>
''' <returns></returns>
Public Function ObtemArqs(Pasta As String, Tipo As String) As List(Of String)
Dim a As New List(Of String)
Dim b As String
For Each Arquivo As String In My.Computer.FileSystem.GetFiles(Pasta, FileIO.SearchOption.SearchAllSubDirectories, Tipo)
Dim MusicFileInfo As System.IO.FileInfo = My.Computer.FileSystem.GetFileInfo(Arquivo.ToString())
b = MusicFileInfo.Directory.Parent.Name + "\" +
MusicFileInfo.Directory.Name + "\" +
MusicFileInfo.Name
a.Add(b)
Next
Return a
End Function
Abrindo a Caixa de diálogo para abertura de aquivo
Não gosto deste componente porque abre o diálogo de pastas mas não permite que eu copie o nome
de uma pasta para iniciar a procura de um ponto específico do disco.
''' <summary>
''' root de pesquisa
''' </summary>
''' <param name="ID"></param>
''' <returns></returns>
Public Function PegaPasta(ID As String) As String
Dim fbd1 As New FolderBrowserDialog
fbd1.Description = "Selecione a pasta " + ID + " : "
fbd1.RootFolder = Environment.SpecialFolder.MyComputer
fbd1.ShowNewFolderButton = True
'Exibe a caixa de diálogo
If fbd1.ShowDialog = Windows.Forms.DialogResult.OK Then
Return fbd1.SelectedPath
Else
Return ""
End If
End Function
End Module